package com.tubang.organization.component;

import java.util.Date;

import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import com.baomidou.mybatisplus.mapper.MetaObjectHandler;
import com.baomidou.mybatisplus.toolkit.IdWorker;

/**
 * @ClassName MyMetaObjectHandler 
 * @Description mybatisplus自定义填充公共字段 ,即没有传的字段自动填充 
 * @author wsl 
 * @date 2017年12月13日 上午11:37:20
 */
@Component
public class MyMetaObjectHandler extends MetaObjectHandler {
	// 新增填充
	@Override
	public void insertFill(MetaObject metaObject) {
		Object id = metaObject.getValue("id");
		Object creatTime = metaObject.getValue("createTime");
//		Object updateTime = metaObject.getValue("updateTime");
//		Object enable = metaObject.getValue("enable");
		// 获取当前登录用户
		// SysUser user = (SysUser)SecurityUtils.getSubject().getPrincipal();
//		if (null == enable) {
//			metaObject.setValue("enable", true);
//		}
		if (null == id) {
			metaObject.setValue("id", Long.toString(IdWorker.getId()));
		}
		if (null == creatTime) {
			metaObject.setValue("createTime", new Date());
		}
//		if (null == updateTime) {
//			metaObject.setValue("updateTime", new Date());
//		}
	}

	// 更新填充
	@Override
	public void updateFill(MetaObject metaObject) {
		metaObject.setValue("updateTime", new Date());
	}
}